package com.sophossystems.client.asmon.dao;

import com.sophossystems.client.asmon.dao.DireccionDao;
import com.sophossystems.client.asmon.dto.DireccionDTO;
import com.sophossystems.client.asmon.dto.DireccionPkDTO;
import com.sophossystems.client.asmon.exceptions.DaoException;

import java.util.List;

public interface DireccionDao
{
	/**
	 * Method 'insert'
	 * 
	 * @param dto
	 * @return DireccionPk
	 */
	public DireccionPkDTO insert(DireccionDTO dto);

	/** 
	 * Updates a single row in the DIRECCION table.
	 */
	public void update(final DireccionDTO dto) throws DaoException;

	/** 
	 * Deletes a single row in the DIRECCION table.
	 */
	public void delete(DireccionPkDTO pk) throws DaoException;
	
	/** 
	 * Deletes a single row in the DIRECCION table.
	 */
	public DireccionPkDTO findLastInsert() throws DaoException;

	/** 
	 * Returns all rows from the DIRECCION table that match the criteria 'idDireccion = :idDireccion'.
	 */
	public DireccionDTO findByPrimaryKey(int idDireccion) throws DaoException;

	/** 
	 * Returns all rows from the DIRECCION table that match the criteria ''.
	 */
	public List<DireccionDTO> findAll() throws DaoException;

	/** 
	 * Returns all rows from the DIRECCION table that match the criteria 'idDireccion = :idDireccion'.
	 
	public List<DireccionDTO> findWhereIdDireccionEquals(int idDireccion) throws DaoException;*/

	/** 
	 * Returns all rows from the DIRECCION table that match the criteria 'calle = :calle'.
	 
	public List<DireccionDTO> findWhereCalleEquals(String calle) throws DaoException;*/

	/** 
	 * Returns all rows from the DIRECCION table that match the criteria 'numExt = :numExt'.
	 
	public List<DireccionDTO> findWhereNumExtEquals(String numExt) throws DaoException;*/

	/** 
	 * Returns all rows from the DIRECCION table that match the criteria 'numInt = :numInt'.
	 
	public List<DireccionDTO> findWhereNumIntEquals(String numInt) throws DaoException;*/

	/** 
	 * Returns all rows from the DIRECCION table that match the criteria 'colonia = :colonia'.
	 
	public List<DireccionDTO> findWhereColoniaEquals(String colonia) throws DaoException;*/

	/** 
	 * Returns all rows from the DIRECCION table that match the criteria 'delegacion = :delegacion'.
	 
	public List<DireccionDTO> findWhereDelegacionEquals(String delegacion) throws DaoException;*/

	/** 
	 * Returns all rows from the DIRECCION table that match the criteria 'cp = :cp'.
	 
	public List<DireccionDTO> findWhereCpEquals(String cp) throws DaoException;*/

	/** 
	 * Returns all rows from the DIRECCION table that match the criteria 'entidadFed = :entidadFed'.
	 
	public List<DireccionDTO> findWhereEntidadFedEquals(String entidadFed) throws DaoException;*/

	/** 
	 * Returns all rows from the DIRECCION table that match the criteria 'telefono = :telefono'.
	
	public List<DireccionDTO> findWhereTelefonoEquals(String telefono) throws DaoException;*/

	/** 
	 * Returns all rows from the DIRECCION table that match the criteria 'idTipoDireccion = :idTipoDireccion'.
	 
	public List<DireccionDTO> findWhereIdTipoDireccionEquals(int idTipoDireccion) throws DaoException;*/

	/** 
	 * Returns the rows from the DIRECCION table that matches the specified primary-key value.
	 
	public DireccionDTO findByPrimaryKey(DireccionPkDTO pk) throws DaoException;*/

}
